package com.huatai.user.dubbo;

import cn.hutool.json.JSONObject;
import com.huatai.user.dto.WeChatPeopleDto;
import com.huatai.user.entity.Department;
import com.huatai.user.entity.User;
import com.huatai.user.vo.DepartVo;
import com.huatai.user.vo.UserVo;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface UserDubboApi {
	UserVo findUserInfo(String username);
	UserVo findUserInfoByRealName(String username);
	/**
	 * 事项管理中心根据企业微信通讯录同步用户信息至系统用户中
	 * @param updateUserId
	 * @param userSet
	 * @param roleIdMap
	 * @return
	 */
	List<User> saveUserByWeChatUserBpmn(Long updateUserId, Set<WeChatPeopleDto> userSet, Map<String, Long> roleIdMap);

	/**
	 * 微信一键登录
	 * @param user
	 * @return
	 */
	User saveOrUpdate(User user);

	List<User> getList();

	Department getDepart(Long deptId);

	/**
	 * 查询部门用户id
	 * @param deptId
	 * @return
	 */
	List<User> getDepartUser(Long deptId);

    List<JSONObject> getDepartList();

    User getUser(Long creator);

	/**
	 * 获取用户角色是否有所有查看数据
	 */
	boolean getRoleByUserId(Long userId);


}
